1. Field of Invention
This invention relates to communication network methods, system and program products. More particularly, the invention relates to codecs with network congestion detection and automatic fallback methods, systems & program products.
2. Description of Prior Art
Numerous different Speech Coder/Decoder techniques for compressing speech signals and recovering the original signals from the compressed data have been standardized by the International Telecommunications Union (ITU) (e.g., G.711, G.723.1, G.726, G.728, and G.729 A). There are many other codec techniques and algorithms which remain proprietary. Likewise, numerous codec algorithms (both standard and proprietary) have been applied to the compression of video signals. Various data codecs, such as compression, error correction, or encryption processors, could also be applied within the scope of this invention. The various codec algorithms typically provide a trade-off between implementation complexity (MIPs and Memory), bit rate required to support real-time sessions, and session quality. Thus one can typically choose a more complex algorithm to reduce the bit rate required to support a session, but in general the lower bit rate also typically results in lower quality session when passed through a coder/decoder pair. For instance lower bit rate connections for voice or video would typically result in lower quality speech or image signals as perceived by the user, while use of compressed data as opposed to uncompressed data might result in longer latency for a data session. Use of more effective error-correcting codes, with corresponding larger overhead could be applied to data sessions when excess bandwidth is available, potentially avoiding the need for retransmission of data received in error.
The codecs are typically useful in facilitating voice or video traffic within packet-based networks i.e., IP networks, including the Internet as well as private and virtual private networks. Compression functions are desirable since they reduce the load on the networks by reducing the bit rate required to support each session. A motivation for voice over packet networks is to reduce the cost of voice traffic (i.e., toll bypass), as well as to consolidate both voice and data onto a single network, thus reducing network management overhead. A second motivation of voice over packet technology is to connect a remote telephone into the Public Switched Telephone Network (PSTN) without using local phone service. Connecting a remote telephone into the PSTN is done by using a broadband link such as Asynchronous Digital Subscriber Line (ADSL) to carry the digitized voice from the subscriber's location through the local central office to a voice gateway. In either network configuration, the voice codec type is typically negotiated at the beginning of a voice session. Video over various packet networks is also highly desirable for video conferencing, distance learning, and video on demand applications.
ITU-T standard H.323 provides a protocol for two endpoints to negotiate the desired codec for a session. Once established, codec parameters are typically fixed for the duration of a session. Typical user preference would be to always use the codec that results in the best session quality. Unfortunately, if there is significant traffic (many voice or video sessions as well as many data sessions) on the network, the higher throughput required for the desired session quality can result in lost packets (for both voice/video and data traffic) in the network due to router decisions to discard packets as queues become too full. Lost voice (video) packets degrade the speech (image) quality of voice (video) sessions, and lost data traffic may even make congestion worse because of a need to retransmit discarded data. The desirability of adjusting speech codec bit-rate in response to congestion was pointed out in the text “Digital Coding of Waveforms: Principles and Applications to Speech and Video” by Nuggehally S. Javant P. Noll, by Prentice Hall, Englewood Cliffs, N.J., November 1990. However there was no discussion in this reference as to how one should determine when to alter the coder bit rate. A paper entitled. “A dynamic rate control mechanism for integrated networks”, Yin, N.; Hluchyj, M. G.; INFOCOM '91. Proceedings; Tenth Annual Joint Conference of the IEEE Computer and Communications Societies; Networking in the 90s; IEEE, 1991; Page(s): 543-552 vol. 2, discloses a technique whereby a network device could modify a packet header to indicate to the end nodes a congested network condition. However, the technique requires explicit packet modification within the network and would be difficult to implement on a widespread basis.
Accordingly, there is therefore a need to control the bandwidth consumed by voice sessions in a packet network in order to better control network congestion.
Other prior art related to network congestion control in packet networks includes:
U.S. Pat. No. 6,012,024 entitled “Method & Apparatus Encoding Digital Information” issued Jan. 4, 2000, filed Aug. 4, 1997 discloses a system in which a speech encoder receives speech signals (S) which are encoded and transmitted on a communication channel. Periods of silence in the speech are utilized by a data encoder to transmit data on the speech frequency band via the channel. A signal classifier switches between the encoders. The speech encoder has a synthesis filter with state variables in a delay line, predictor adaptor, gain predictor and excitation codebook. The data encoder has a delay line with state variables stored and updated in a buffer. On switching from data to speech, the buffer state variables are fed into the synthesis filter delay line via an input for smooth transition in the speech encoding. Coefficient values in the synthesis filter and an excitation signal are generated. Thereby a buffer in the gain predictor is preset and its predictor coefficients and gain are generated. The incoming speech signal (S) newly detected is encoded (CW) by the values generated in the speech encoder, which is successively adapted. The receiver side has corresponding speech and data decoders.
U.S. Pat. No. 5,907,822 entitled “Lost Tolerance Speech Decoder for Telecommunications” issued May 25, 1999, filed Apr. 4, 1997 discloses a method and device for extrapolating past signal-history data for insertion into missing data segments in order to conceal digital speech frame errors. The extrapolation method uses past-signal history that is stored in a buffer. The method is implemented with a device that utilizes a finite-impulse response (FIR) multi-layer feed-forward artificial neural network that is trained by back-propagation for one-step extrapolation of speech compression algorithm (SCA) parameters. Once a speech connection has been established, the speech compression algorithm device begins sending encoded speech frames. As the speech frames are received, they are decoded and converted back into speech signal voltages. During the normal decoding process, pre-processing of the required SCA parameters will occur and the results stored in the past-history buffer. If a speech frame is detected to be lost or in error, then extrapolation modules are executed and replacement SCA parameters are generated and sent as the parameters required by the SCA. In this way, the information transfer to the SCA is transparent, and the SCA processing continues as usual. The listener will not normally notice that a speech frame has been lost because of the smooth transition between the last-received, lost, and next-received speech frames.
U.S. Pat. No. 5,526,353 entitled “System & Method for Communication of Audio Data Over a Packet-Based Network” issued Jun. 11, 1996 discloses a system and method for communicating audio data in a packet-based computer network wherein transmission of data packets through the computer network requires variable periods of transmission time. The system comprises: (1) a packet assembly circuit for constructing a data packet from a portion of a stream of digital audio data corresponding to an audio signal, the packet assembly circuit generating a position identifier indicating a temporal position of the portion relative to the stream, inserting the position identifier into the data packet and queuing the data packet for transmission through a backbone of the computer network and (2) a packet disassembly circuit, having a buffer associated therewith, for receiving the data packet from the backbone, the packet disassembly circuit inserting the portion into an absolute location of the buffer, the position identifier determining the location, the portion thereby synchronized with adjacent portions of the stream of digital audio data in the buffer to compensate for the variable periods of transmission time.
U.S. Pat. No. 5,426,640 entitled “Rate-Based Adaptive congestion Control System and Method for Integrated Packet Networks” issued Jun. 20, 1995; filed Jan. 21, 1992 discloses an adaptive congestion control device and method that minimize congestion using independent congestion level indicators. The invention allows efficient recovery for an integrated packet network that becomes congested and allows a user to utilize the network on a space-available basis when capacity is available.
None of the prior art discloses voice codecs capable of detecting congestion in a packet network and responding to the congestion via a protocol such as ITU-T H.323 which enables the codecs to re-negotiate speech codec-type and/or parameters with the peer codec at the other side of the network to reduce the bit rate requirement for supporting a speech session.